package com.requiem.hist_group_manage_springboot.model;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.requiem.hist_group_manage_springboot.constants.SystemConstants;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDate;
import java.time.LocalDateTime;

@Data
@NoArgsConstructor
@AllArgsConstructor
public class StudentModel {

    // 主键 ID（对应数据库 int 类型，非空）
    private Integer id;

    // 姓名（对应数据库 varchar (255)）
    private String name;

    // 性别（对应数据库 tinyint (1)，1：男 0：女）
    private Integer sex;

    // 年龄 （对应数据库 int (11)）
    private Integer age;

    // 生日（对应数据库 date 类型，仅年月日）
    @JsonFormat(pattern = SystemConstants.DATE_FORMAT) // 序列化时按此格式转换为字符串
    private LocalDate birthday;

    // 身份证号（对应数据库 varchar (20)）
    private String idCard;

    //学号（对应数据库  varchar (20)）
    private String studentNumber;

    // 学生界数 （对应数据库 varchar(255)）
    private String grade;

    // 学生学院 （对应数据库 varchar(255)）
    private String department;

    // 学生专业 （对应数据库 varchar(255)）
    private String major;

    // 学生电话 （对应数据库 varchar(20)）
    private String phone;

    //小组id
    private Integer groupId;

    //小组名字（非数据库字段）
    private String groupName;

    //拉黑标识，为1为被拉黑，其他正常
    private Integer blackType;

    //学生密码 （对应数据库 varchar）
    private String password;

    // 创建时间（对应数据库 datetime 类型，包含年月日时分秒）
    @JsonFormat(pattern = SystemConstants.DATE_TIME_FORMAT, timezone = "GMT+8")
    private LocalDateTime createTime;
}